package com.ruoyi.security.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author yeoman
 * @date 2025/10/25 10:55
 * @description 证券分时图数据VO
 */
@Data
public class SecurityTimeShareVo {

    /**
     * 证券基本信息
     */
    private SecurityInfo securityInfo;

    /**
     * 分时价格数据
     * 格式: [["09:30", "12.34"], ["09:31", "12.35"], ...]
     */
    private List<List<String>> timeshareData;

    /**
     * 分时涨跌幅数据
     * 格式: [["09:30", "1.25"], ["09:31", "1.30"], ...]
     */
    private List<List<String>> changePercentData;

    /**
     * 价格均线数据
     * 格式: [["09:30", "12.34"], ["09:31", "12.35"], ...]
     */
    private List<List<String>> averagePriceData;

    /**
     * 成交量数据
     * 格式: [["09:30", 1000000], ["09:31", 1200000], ...]
     */
    private List<List<Object>> volumeData;

    /**
     * 证券基本信息内部类
     */
    @Data
    public static class SecurityInfo {
        /**
         * 完整代码
         */
        private String symbol;

        /**
         * 代码
         */
        private String code;

        /**
         * 名称
         */
        private String name;

        /**
         * 日期
         */
        private Date date;

        /**
         * 周几
         */
        private String weekday;

        /**
        * 昨收价
        */
        private BigDecimal previousClosePrice;

        /**
         * 今开价
         */
        private BigDecimal openPrice;

        /**
         * 最高价
         */
        private BigDecimal highestPrice;

        /**
         * 最低价
         */
        private BigDecimal lowestPrice;
        
        /**
         * 最大涨幅百分比
         */
        private BigDecimal maxRisePercent;
        
        /**
         * 最大跌幅百分比
         */
        private BigDecimal maxFallPercent;
        
    }
}
